package com.wuseguang.springcloud.service.impl;

import com.wuseguang.springcloud.service.BanCardsClientService;
import com.wuseguang.springcloud.util.CodeUtil;
import com.wuseguang.springcloud.util.Result;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

@Component
public class BanCardsClientServiceFallbackFactory implements FallbackFactory<BanCardsClientService> {

    @Override
    public BanCardsClientService create(Throwable throwable) {
        return new BanCardsClientService() {
            @Override
            public Result querySwitchingTime(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryWeather(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result updateHeartBeatTime(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryClassInformation(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result querySchoolInformation(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryClassPictures(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryApplicationAll(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryClassVideos(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryClassNotices(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result updateHeartbeatType(String deviceid, String type) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result updatePush(String deviceid, String clientid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryTimetable(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryTodayDuty(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result updateScreenShot(String deviceid, String screenShotUrl) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryVolume(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryUpGradeUrl(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryHeartBydeviceId(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryAttendUserStatusAll(String deviceid, Integer groupid, Integer grouptype, Integer shiftid, String time) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryAttendGroupDialogAll(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result addAttend(String deviceid, Integer userid, Integer groupid, Integer grouptype, Integer shiftid, String time) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result updateEquipmentType(String deviceid, String deviceType) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result updateVersionNumber(String deviceid, String version) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryEquipmentType(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result findStudentFace(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result informStudentFace(String faceList, String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result findDeleteStudentFace(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryStudentVacationById(Integer id) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryHeadMaster(Integer classId) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result addStudentVacation(Integer id, Integer school_id, String stime, String etime, String content, Integer type) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result delStudentVacation(Integer id) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryClassNotice(Integer classId, Integer indexNo, Integer rows) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryClassPicturesAll(Integer classId, Integer indexNo, Integer rows) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryClassVideosAll(Integer classId, Integer indexNo, Integer rows) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result updateParentsLeaveMessagesState(Integer id) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryParentsLeaveMessages(Integer id,Integer type) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result addParentsLeaveMessages(Integer id, Integer type, String content) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result StudentCenterLogin(Integer id, String password) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryStudentCenterAll(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryPersonalApplication(String deviceid, Integer id) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result landingOfClassCards(String deviceid, String password) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result brandUpload(MultipartFile file, int type, String deviceid) {
                return null;
            }


            @Override
            public Result guangxiZhuzongDocking(Map<String, Object> map) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryVacationById(Integer id) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryStudentAchievement(Integer id) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryDutyAll(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result release(Integer id) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result findClassEvaluationInformation(String deviceid, Integer findType, String startTime, String endTime) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result findSchoolFace(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result informSchoolFace(String faceList, String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result findExamInformation(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryPushLog(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryParentActivitiyByDeviceid(String deviceid) {
                return new Result(CodeUtil.SERVER_BUSY);
            }

            @Override
            public Result queryActivitiyByIdList(Integer id, String deviceid) {
                return null;
            }

            @Override
            public Result findDeleteStudentOtherFace(String deviceid) {
                return null;
            }

            @Override
            public Result findInAndOutOfSchool(String deviceid) {
                return null;
            }

            @Override
            public Result findStudentExchangeDetails(String deviceid, String studentId) {
                return null;
            }

            @Override
            public Result addStudentExchangeDetails(String deviceid, String studentId, String studentName, String prizeId) {
                return null;
            }

            @Override
            public Result findPrizeList(String deviceid) {
                return null;
            }

            @Override
            public Result findRecordList(String deviceid, String studentId) {
                return null;
            }

            @Override
            public Result findMoralEducationRecord(String deviceid) {
                return null;
            }

            @Override
            public Result findRankingLastWeek(String deviceid) {
                return null;
            }

        };
    }
}
